const app = getApp();

Page({
  data: {
    isLogin: false,
    userInfo: null,
    couponCount: 0,
    messageCount: 0,
    orderCounts: {
      unpaid: 0,
      unshipped: 0,
      shipped: 0,
      afterSale: 0
    }
  },

  onLoad: function (options) {
    
  },

  onShow: function () {
    this.checkLoginStatus();
    if (this.data.isLogin) {
      this.getUserInfo();
      this.getCouponCount();
      this.getOrderCounts();
      this.getMessageCount();
    }
  },

  // 检查登录状态
  checkLoginStatus: function () {
    const isLogin = app.globalData.isLogin;
    this.setData({
      isLogin
    });
  },

  // 获取用户信息
  getUserInfo: function () {
    // 实际项目中应该从服务器获取用户信息
    // wx.cloud.callFunction({
    //   name: 'getUserInfo',
    //   data: {
    //     userId: app.globalData.openid
    //   }
    // }).then(res => {
    //   if (res.result.success) {
    //     this.setData({
    //       userInfo: res.result.data
    //     });
    //   }
    // }).catch(err => {
    //   console.error('获取用户信息失败', err);
    // });

    // 从本地存储获取用户信息
    const storedUserInfo = wx.getStorageSync('userInfo');
    if (storedUserInfo) {
      // 如果本地存储中有用户信息，则使用它
      this.setData({
        userInfo: JSON.parse(storedUserInfo)
      });
      return;
    }

    // 否则使用模拟数据
    const userInfo = {
      nickName: '小程序用户',
      avatarUrl: '/images/default-avatar.png',
      memberLevel: '黄金会员',
      points: 520,
      balance: 199.99,
      // 添加更多用户字段
      gender: '未设置',
      birthday: '未设置',
      phone: '未设置',
      email: '未设置'
    };
    
    this.setData({
      userInfo
    });
    
    // 保存到本地存储
    wx.setStorageSync('userInfo', JSON.stringify(userInfo));
  },

  // 获取优惠券数量
  getCouponCount: function () {
    // 实际项目中应该从服务器获取用户的优惠券数量
    // wx.cloud.callFunction({
    //   name: 'getUserCouponsCount',
    //   data: {
    //     userId: app.globalData.openid,
    //     status: 'valid'
    //   }
    // }).then(res => {
    //   if (res.result.success) {
    //     this.setData({
    //       couponCount: res.result.data.count
    //     });
    //   }
    // }).catch(err => {
    //   console.error('获取优惠券数量失败', err);
    // });

    // 使用模拟数据
    this.setData({
      couponCount: 5
    });
  },

  // 获取订单数量统计
  getOrderCounts: function () {
    // 实际项目中应该从服务器获取用户的订单统计
    // wx.cloud.callFunction({
    //   name: 'getOrderCounts',
    //   data: {
    //     userId: app.globalData.openid
    //   }
    // }).then(res => {
    //   if (res.result.success) {
    //     this.setData({
    //       orderCounts: res.result.data
    //     });
    //   }
    // }).catch(err => {
    //   console.error('获取订单统计失败', err);
    // });

    // 使用模拟数据
    this.setData({
      orderCounts: {
        unpaid: 1,
        unshipped: 2,
        shipped: 1,
        afterSale: 0
      }
    });
  },

  // 获取消息数量
  getMessageCount: function () {
    // 实际项目中应该从服务器获取用户的未读消息数量
    // wx.cloud.callFunction({
    //   name: 'getUnreadMessageCount',
    //   data: {
    //     userId: app.globalData.openid
    //   }
    // }).then(res => {
    //   if (res.result.success) {
    //     this.setData({
    //       messageCount: res.result.data.count
    //     });
    //   }
    // }).catch(err => {
    //   console.error('获取未读消息数量失败', err);
    // });

    // 使用模拟数据
    this.setData({
      messageCount: 3
    });
  },

  // 跳转到登录页
  goToLogin: function () {
    console.log('Attempting to navigate to login page from user page');
    wx.reLaunch({
      url: '/pages/login/login',
      success: function() {
        console.log('Navigation to login page successful');
      },
      fail: function(error) {
        console.error('Failed to navigate to login page:', error);
      }
    });
  },

  // 跳转到我的优惠券页面
  goToCoupon: function () {
    wx.navigateTo({
      url: '/pages/coupon/coupon'
    });
  },

  // 跳转到我的积分页面
  goToPoints: function () {
    wx.navigateTo({
      url: '/pages/points/points'
    });
  },

  // 跳转到我的钱包页面
  goToWallet: function () {
    wx.navigateTo({
      url: '/pages/wallet/wallet'
    });
  },

  // 跳转到订单列表页面
  goToOrderList: function (e) {
    const { type } = e.currentTarget.dataset;
    wx.navigateTo({
      url: `/pages/order-list/order-list?type=${type}`
    });
  },

  // 跳转到收货地址页面
  goToAddress: function () {
    wx.navigateTo({
      url: '/pages/address/address'
    });
  },

  // 跳转到收藏夹页面
  goToFavorites: function () {
    wx.navigateTo({
      url: '/pages/favorites/favorites'
    });
  },

  // 跳转到我的评价页面
  goToReviews: function () {
    wx.navigateTo({
      url: '/pages/reviews/reviews'
    });
  },

  // 跳转到消息中心页面
  goToMessages: function () {
    wx.navigateTo({
      url: '/pages/messages/messages'
    });
  },

  // 跳转到邀请好友页面
  goToInvite: function () {
    wx.navigateTo({
      url: '/pages/invite/invite'
    });
  },

  // 跳转到帮助中心页面
  goToHelp: function () {
    wx.navigateTo({
      url: '/pages/help/help'
    });
  },

  // 跳转到设置页面
  goToSettings: function () {
    wx.navigateTo({
      url: '/pages/settings/settings'
    });
  },

  // 跳转到编辑个人资料页面
  goToEditProfile: function () {
    wx.navigateTo({
      url: '/pages/edit-profile/edit-profile'
    });
  },

  // 联系客服
  contactService: function () {
    wx.makePhoneCall({
      phoneNumber: '400-123-4567' // 客服电话
    });
  },


}); 